package etp.server;

import java.util.ArrayList;
import java.util.List;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;

import etp.client.ErroProjeto;
import etp.client.Projeto;
import etp.client.rpc.ProjetoAdminService;

public class ProjetoAdminServiceImpl extends RemoteServiceServlet implements
		ProjetoAdminService {

	private static final long serialVersionUID = 7323937693848140597L;

	@Override
	public Projeto cadastrar(Projeto prj) throws Exception { 
		
		ErroProjeto erro = AdminProjeto.criarProjeto(prj);
		
		if(erro != ErroProjeto.SUCESSO){
			throw new Exception(erro.msg());
		}
		
		return prj;
	}

	@Override
	public List<Projeto> listar() throws Exception {
//		
//		ArrayList<Projeto> lst = new ArrayList<Projeto>();
//		
//		Projeto prj1 = new Projeto("124","Mega");
//		Projeto prj2 = new Projeto("124","Mega");
//		
//		lst.add(prj1);
//		lst.add(prj2);
		
		return new ArrayList<Projeto>(AdminProjeto.listarProjeto());
	}

	@Override
	public String remover(String cod) {
		ErroProjeto erro = AdminProjeto.excluirProjeto(cod);
		
		if(erro != ErroProjeto.SUCESSO){
			throw new RuntimeException(erro.msg());
		}
		
		return "";
	}

	@Override
	public String modificar(String cod, Projeto p) {
//		int mod = AdminProjeto.modificarProjeto(cod, p);
//		return String.format("" + mod);
		
		return AdminProjeto.modificarProjeto(cod, p).msg();
	}


}
